﻿
//打开模式对话框 
//返回模式对话框的值 
//全屏幕打开 IE 窗口
//脚本中中使用xml 
//一、验证类 
//1、数字验证内
//2、时间类
//3、表单类
//4、字符类
//5、浏览器类
//6、结合类

//二、功能类 
//1、时间与相关控件类
//2、表单类 
//3、打印类 
//4、事件类 
//5、网页设计类
//6、树型结构。
//7、无边框效果的制作 
//8、连动下拉框技术 
//9、文本排序 
//10，画图类，含饼、柱、矢量贝滋曲线 
//11，操纵客户端注册表类 
//12，DIV层相关（拖拽、显示、隐藏、移动、增加） 
//13，TABLAE相关(客户端动态增加行列，模拟进度条，滚动列表等) 
//14，各种object classid=>相关类，如播放器，flash与脚本互动等 
//16, 刷新/模拟无刷新 异步调用类（XMLHttp或iframe,frame）



/* 
    随风JavaScript函数库 
  请把经过测试的函数加入库 
*/


/******************** 
函数名称：StrLenthByByte 
函数功能：计算字符串的字节长度，即英文算一个，中文算两个字节 
函数参数：str,为需要计算长度的字符串 
********************/ 
function StrLenthByByte(str) 
{ 
var len; 
var i; 
len = 0; 
for (i=0;i<str.length;i++) 
{ 
if (str.charCodeAt(i)>255) len+=2; else len++; 
} 
return len; 
}

/******************** 
函数名称：IsEmailAddress 
函数功能：检查Email邮件地址的合法性，合法返回true,反之,返回false 
函数参数：obj,需要检查的Email邮件地址 
********************/ 
function IsEmailAddress(obj) 
{ 
var pattern=/^[a-zA-Z0-9\-]+@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3})$/; 
if(pattern.test(obj)) 
{ 
return true; 
} 
else 
{ 
return false; 
} 
}

/******************** 
函数名称：PopWindow 
函数功能：弹出新窗口 
函数参数：pageUrl,新窗口地址;WinWidth,窗口的宽；WinHeight,窗口的高 
********************/ 
function PopWindow(pageUrl,WinWidth,WinHeight) 
{ 
var popwin=window.open(pageUrl,"PopWin","scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width="+WinWidth+",height="+WinHeight); 
return false; 
}

/******************** 
函数名称：PopRemoteWindow 
函数功能：弹出可以控制父窗体的原程窗口 
函数参数：pageUrl,新窗口地址; 
调用方法：打开窗口：<a href="javascript:popRemoteWindow(url);">Open</a> _fcksavedurl=""javascript:popRemoteWindow(url);">Open</a>" 
          控制父窗体：opener.location=url;当然还可以有其他的控制 
********************/ 
function PopRemoteWindow(pageUrl) 
{ 
var remote=window.open(url,"RemoteWindow","scrollbars=yes,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,resizable=yes"); 
if(remote.opener==null) 
{ 
remote.opener=window; 
} 
}


/******************** 
函数名称：IsTelephone 
函数功能：固话，手机号码检查函数，合法返回true,反之,返回false 
函数参数：obj,待检查的号码 
检查规则： 
　　(1)电话号码由数字、"("、")"和"-"构成 
　　(2)电话号码为3到8位 
　　(3)如果电话号码中包含有区号，那么区号为三位或四位 
　　(4)区号用"("、")"或"-"和其他部分隔开 
　　(5)移动电话号码为11或12位，如果为12位,那么第一位为0 
　　(6)11位移动电话号码的第一位和第二位为"13" 
　　(7)12位移动电话号码的第二位和第三位为"13" 
********************/ 
function IsTelephone(obj) 
{ 
var pattern=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;
if(pattern.test(obj)) 
{ 
return true; 
} 
else 
{ 
return false; 
} 
}

/******************** 
函数名称：IsLegality 
函数功能：检查字符串的合法性，即是否包含" '字符，包含则返回false;反之返回true 
函数参数：obj,需要检测的字符串 
********************/ 
function IsLegality(obj) 
{ 
var intCount1=obj.indexOf("\"",0); 
var intCount2=obj.indexOf("\'",0); 
if(intCount1>0 || intCount2>0) 
{ 
return false; 
} 
else 
{ 
return true; 
} 
}

/******************** 
函数名称：IsNumber 
函数功能：检测字符串是否全为数字 
函数参数：str,需要检测的字符串 
********************/ 
function IsNumber(str) 
{ 
var number_chars = "1234567890"; 
var i; 
for (i=0;i<str.length;i++) 
{ 
if (number_chars.indexOf(str.charAt(i))==-1) return false; 
} 
return true; 
}

/******************** 
函数名称：Trim 
函数功能：去除字符串两边的空格 
函数参数：str,需要处理的字符串 
********************/ 
function Trim(str) 
{ 
return str.replace(/(^\s*)|(\s*$)/g, ""); 
}

/******************** 
函数名称：LTrim 
函数功能：去除左边的空格 
函数参数：str,需要处理的字符串 
********************/ 
function LTrim(str) 
{ 
return str.replace(/(^\s*)/g, ""); 
}

/******************** 
函数名称：RTrim 
函数功能：去除右边的空格 
函数参数：str,需要处理的字符串 
********************/ 
function RTrim(str) 
{ 
 return this.replace(/(\s*$)/g, ""); 
}

/******************** 
函数名称：IsNull 
函数功能：判断给定字符串是否为空 
函数参数：str,需要处理的字符串 
********************/ 
function IsNull(str) 
{ 
if(Trim(str)=="") 
{ 
return false; 
} 
else 
{ 
return true; 
} 
}

/******************** 
函数名称：CookieEnabled 
函数功能：判断cookie是否开启 
********************/ 
function CookieEnabled() 
{ 
return (navigator.cookieEnabled)? true : false; 
}


/*字符串替换方法*/ 
function StrReplace(srcString,findString,replaceString,start) 
{ 
//code 
}

/*客户端HTML编码*/ 
function HtmlEncode(str) 
{ 
//code 
}


/******************************************************************** 
** 
*函数功能:判断是否是闰年* 
*输入参数:数字字符串* 
*返回值:true，是闰年/false，其它* 
*调用函数:* 
** 
********************************************************************/ 
function IsLeapYear(iYear) 
{ 
if (iYear+"" == "undefined" || iYear+""== "null" || iYear+"" == "") 
return false;

iYear = parseInt(iYear); 
varisValid= false;

if((iYear % 4 == 0 && iYear % 100 != 0) || iYear % 400 == 0) 
isValid= true;

return isValid;   
} 
/******************************************************************** 
** 
*函数功能:取出指定年、月的最后一天* 
*输入参数:年份，月份* 
*返回值:某年某月的最后一天* 
*调用函数:IsLeapYear* 
** 
********************************************************************/ 
function GetLastDay(iYear,iMonth) 
{ 
iYear = parseInt(iYear); 
iMonth = parseInt(iMonth);

variDay = 31;

if((iMonth==4||iMonth==6||iMonth==9||iMonth==11)&&iDay == 31) 
iDay = 30;

if(iMonth==2 ) 
if (IsLeapYear(iYear)) 
iDay = 29; 
else 
iDay = 28; 
 return iDay;   
} 
/******************************************************************** 
** 
*函数功能:去字符串的头空和尾空* 
*输入参数:字符串* 
*返回值:字符串/null如果输入字符串不正确* 
*调用函数:TrimLeft() 和 TrimRight()* 
** 
********************************************************************/ 
function Trim( str ) 
{ 
varresultStr ="";

resultStr =TrimLeft(str); 
resultStr =TrimRight(resultStr);

return resultStr; 
}

/******************************************************************** 
** 
*函数功能:去字符串的头空* 
*输入参数:字符串* 
*返回值:字符串/null如果输入字符串不正确* 
*调用函数:* 
** 
********************************************************************/ 
function TrimLeft( str ) 
{ 
varresultStr =""; 
vari =len= 0;

if (str+"" == "undefined" || str ==null) 
return null;

str+= "";

if (str.length == 0) 
resultStr =""; 
else 
{ 
len= str.length;

while ((i <= len) && (str.charAt(i)== " ")) 
i++;

resultStr =str.substring(i, len); 
}

return resultStr; 
}

/******************************************************************** 
** 
*函数功能:去字符串的尾空* 
*输入参数:字符串* 
*返回值:字符串/null如果输入字符串不正确* 
*调用函数:* 
** 
********************************************************************/ 
function TrimRight(str) 
{ 
varresultStr =""; 
vari =0;

if (str+"" == "undefined" || str ==null) 
return null;

str+= "";

if (str.length == 0) 
resultStr =""; 
else 
{ 
i =str.length - 1; 
while ((i >= 0)&& (str.charAt(i) == " ")) 
i--;

resultStr =str.substring(0, i + 1); 
}

return resultStr; 
}

/******************************************************************** 
** 
*函数功能:判断输入的字符串是否为数字* 
*输入参数:输入的对象* 
*返回值:true-数字/false-非数字* 
*调用函数:* 
** 
********************************************************************/ 
function isNumber(objName) 
{ 
var strNumber = objName.value; 
var intNumber;

if(Trim(strNumber) == "") 
{ 
return true; 
}

intNumber = parseInt(strNumber, 10); 
if (isNaN(intNumber)) 
{ 
alert("请输入数字."); 
objName.focus(); 
return false; 
} 
return true; 
}

/******************************************************************** 
** 
*函数功能:判断输入的字符串是否为数字* 
*输入参数:输入的对象* 
*返回值:true-数字/false-非数字* 
*调用函数:* 
** 
********************************************************************/ 
function isFloat(objName) 
{ 
var strFloat = objName.value; 
var intFloat;

if(Trim(strFloat) == "") 
{ 
return true; 
}

intFloat = parseFloat(strFloat); 
if (isNaN(intFloat)) 
{ 
alert("Please input a number."); 
objName.focus(); 
return false; 
} 
return true; 
}




/******************************************************************** 
** 
*函数功能:判断输入的字符串是否为合法的时间* 
*输入参数:输入的字符串* 
*返回值:true-合法的时间/false-非法的时间* 
*调用函数:* 
** 
********************************************************************/ 
function checkDate(strDate) 
{ 
var strDateArray; 
var strDay; 
var strMonth; 
var strYear; 
var intday; 
var intMonth; 
var intYear; 
var strSeparator = "-"; 
var err = 0;

strDateArray = strDate.split(strSeparator);

if (strDateArray.length != 3) 
{ 
err = 1; 
return false; 
} 
else 
{ 
strYear = strDateArray[0]; 
strMonth = strDateArray[1]; 
strDay = strDateArray[2]; 
}

intday = parseInt(strDay, 10); 
if (isNaN(intday)) 
{ 
err = 2; 
return false; 
} 
intMonth = parseInt(strMonth, 10); 
if (isNaN(intMonth)) 
{ 
        err = 3; 
return false; 
} 
intYear = parseInt(strYear, 10); 
if(strYear.length != 4) 
{ 
return false; 
} 
if (isNaN(intYear)) 
{ 
err = 4; 
return false; 
}


if (intMonth>12 || intMonth<1) 
{ 
err = 5; 
return false; 
}

if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) 
{ 
err = 6; 
return false; 
}

if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1))
{ 
err = 7; 
return false; 
}

if (intMonth == 2) 
{ 
if (intday < 1) 
{ 
err = 8; 
return false; 
}

if (LeapYear(intYear) == true) 
{ 
if (intday > 29) 
{ 
err = 9; 
return false; 
} 
} 
else 
{ 
if (intday > 28) 
{ 
err = 10; 
return false; 
} 
} 
}

return true; 
}

/******************************************************************** 
** 
*函数功能:判断是否为闰年* 
*输入参数:输入的年* 
*返回值:true-是/false-不是* 
*调用函数:* 
** 
********************************************************************/ 
function LeapYear(intYear) 
{ 
if (intYear % 100 == 0) 
{ 
if (intYear % 400 == 0) { return true; } 
} 
else 
{ 
if ((intYear % 4) == 0) { return true; } 
} 
return false; 
}

/******************************************************************** 
*函数功能:* 
********************************************************************/ 
function formDateCheck(year,month,day) 
{ 
var strY = Trim(year); 
var strM = Trim(month); 
var strD = Trim(day); 
var strDate = strY + "-" + strM + "-" + strD; 
if((strY + strM + strD) != "") 
{ 
if(!checkDate(strDate)) 
{ 
return false; 
} 
} 
return true; 
}

/******************************************************************** 
*函数功能:将form所有输入字段重置* 
********************************************************************/ 
function setFormReset(objForm) 
{ 
objForm.reset(); 
} 
/******************************************************************** 
*函数功能:计算字符串的实际长度* 
********************************************************************/

function strlen(str) 
{ 
var len; 
var i; 
len = 0; 
for (i=0;i<str.length;i++) 
{ 
if (str.charCodeAt(i)>255) len+=2; else len++; 
} 
return len; 
} 
/******************************************************************** 
*函数功能:判断输入的字符串是不是中文* 
********************************************************************/


function isCharsInBag (s, bag) 
{ 
var i,c; 
for (i = 0; i < s.length; i++) 
{ 
c = s.charAt(i);//字符串s中的字符 
if (bag.indexOf(c) > -1) 
return c; 
} 
return ""; 
}

function ischinese(s) 
{ 
var errorChar; 
var badChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789><,[]{}?/+=|\'\":;~!#$%()`"; 
errorChar = isCharsInBag( s, badChar) 
if (errorChar != "" ) 
{ 
//alert("请重新输入中文\n"); 
return false; 
}

return true; 
}

/******************************************************************** 
*函数功能:判断输入的字符串是不是英文* 
********************************************************************/


function isCharsInBagEn (s, bag) 
{ 
var i,c; 
for (i = 0; i < s.length; i++) 
{ 
c = s.charAt(i);//字符串s中的字符 
if (bag.indexOf(c) <0) 
return c; 
} 
return ""; 
}

/******************************************************************** 
*函数功能:判断输入的字符串是不是英文* 
********************************************************************/
function isenglish(s) 
{ 
var errorChar; 
var badChar = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; 
errorChar = isCharsInBagEn( s, badChar) 
if (errorChar != "" ) 
{ 
//alert("请重新输入英文\n"); 
return false; 
}

return true; 
} 

/******************************************************************** 
*函数功能:判断输入的字符串是不是数字* 
********************************************************************/
function isnum(s) 
{ 
var errorChar; 
var badChar = "0123456789"; 
errorChar = isCharsInBagEn( s, badChar) 
if (errorChar != "" ) 
{ 
//alert("请重新输入英文\n"); 
return false; 
}

return true;
}

 


//我也来帖几个: 
////detect client browse version
/******************************************************************** 
*函数功能:检测浏览器* 
********************************************************************/ 
function testNavigator(){ 
var message="系统检测到你的浏览器的版本比较低,建议你使用IE5.5以上的浏览器,否则有的功能可能不能正常使用.你可以到http://www.microsoft.com/china/免费获得IE的最新版本!"; 
var ua=navigator.userAgent; 
var ie=false; 
if(navigator.appName=="Microsoft Internet Explorer") 
{ 
ie=true; 
} 
if(!ie){ 
alert(message); 
return; 
} 
var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE ")))); 
if(IEversion< 5.5){ 
alert(message); 
return; 
} 
}

//detect client browse version 
function testNavigator(){ 
var message="系统检测到你的浏览器的版本比较低,建议你使用IE5.5以上的浏览器,否则有的功能可能不能正常使用.你可以到http://www.microsoft.com/china/免费获得IE的最新版本!"; 
var ua=navigator.userAgent; 
var ie=false; 
if(navigator.appName=="Microsoft Internet Explorer") 
{ 
ie=true; 
} 
if(!ie){ 
alert(message); 
return; 
} 
var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE ")))); 
if(IEversion< 5.5){ 
alert(message); 
return; 
} 
}

/******************************************************************** 
*函数功能:判断是不是最外层* 
********************************************************************/ 
function checkTopWindow(){ 
if(window.top!=window && window.top!=null){ 
window.top.location=window.location; 
} 
}

/******************************************************************** 
*函数功能:关闭窗口* 
********************************************************************/ 
function closeWindow() 
{ 
var ua=navigator.userAgent; 
var ie=navigator.appName=="Microsoft Internet Explorer"?true:false; 
if(ie) 
{ 
var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE ")))); 
if(IEversion< 5.5) 
{ 
var str  = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">' 
str += '<param name="Command" value="Close"></object>'; 
document.body.insertAdjacentHTML("beforeEnd", str); 
try 
{ 
document.all.noTipClose.Click(); 
} 
catch(e){} 
} 
else 
{ 
window.opener =null; 
window.close(); 
} 
} 
else 
{ 
window.close() 
} 
}

/******************************************************************** 
*函数功能:去空格* 
********************************************************************/ 
function trim(s) 
{ 
 return s.replace( /^\s*/, "" ).replace( /\s*$/, "" ); 
}

//URI encode 
function encode(content){ 
return encodeURI(content); 
}

//URI decode 
function decode(content){ 
return decodeURI(content); 
}


/******************************************************************** 
*函数功能:判断输入润年* 
********************************************************************/
function runNian(The_Year) 
{ 
if ((The_Year%400==0) || ((The_Year%4==0) && (The_Year%100!=0))) 
return true; 
else 
return false; 
}

/******************************************************************** 
*函数功能:getWeekday* 
********************************************************************/
function getWeekday(The_Year,The_Month) 
{ 
  
var Allday=0; 
if (The_Year>2000) 
{ 
  
for (i=2000 ;i<The_Year; i++) 
{ 
if (runNian(i)) 
Allday += 366; 
else 
Allday += 365; 
}

for (i=2; i<=The_Month; i++) 
{ 
switch (i) 
{ 
case 2 : 
if (runNian(The_Year)) 
Allday += 29; 
else 
Allday += 28; 
break; 
case 3 : Allday += 31; break; 
case 4 : Allday += 30; break; 
case 5 : Allday += 31; break; 
case 6 : Allday += 30; break; 
case 7 : Allday += 31; break; 
case 8 : Allday += 31; break; 
case 9 : Allday += 30; break; 
case 10 : Allday += 31; break; 
case 11 : Allday += 30; break; 
case 12 :  Allday += 31; break; 
    
} 
} 
} 
  
switch (The_Month) 
{ 
case 1:return(Allday+6)%7;

case 2 : 
if (runNian(The_Year)) 
return (Allday+1)%7; 
else 
return (Allday+2)%7;

case 3:return(Allday+6)%7; 
case 4:return (Allday+7)%7; 
case 5:return(Allday+6)%7; 
case 6:return (Allday+7)%7; 
case 7:return(Allday+6)%7; 
case 8:return(Allday+6)%7; 
case 9:return (Allday+7)%7; 
case 10:return(Allday+6)%7; 
case 11:return (Allday+7)%7; 
case 12:return(Allday+6)%7;

} 
}

function chooseDay(The_Year,The_Month,The_Day) 
{ 
var Firstday; 
Firstday = getWeekday(The_Year,The_Month); 
showCalender(The_Year,The_Month,The_Day,Firstday); 
}

function nextMonth(The_Year,The_Month) 
{ 
if (The_Month==12) 
chooseDay(The_Year+1,1,0); 
else 
chooseDay(The_Year,The_Month+1,0); 
}

function prevMonth(The_Year,The_Month) 
{ 
if (The_Month==1) 
chooseDay(The_Year-1,12,0); 
else 
chooseDay(The_Year,The_Month-1,0); 
}

function prevYear(The_Year,The_Month) 
{ 
chooseDay(The_Year-1,The_Month,0); 
}

function nextYear(The_Year,The_Month) 
{ 
chooseDay(The_Year+1,The_Month,0); 
}

function showCalender(The_Year,The_Month,The_Day,Firstday) 
{ 
var Month_Day; 
var ShowMonth; 
var today= new Date(); 
//alert(today.getMonth()); 
  
switch (The_Month) 
{ 
case 1 : ShowMonth = "一月"; Month_Day = 31; break; 
case 2 : 
ShowMonth = "二月"; 
if (runNian(The_Year)) 
Month_Day = 29; 
else 
Month_Day = 28; 
break; 
case 3 : ShowMonth = "三月"; Month_Day = 31; break; 
case 4 : ShowMonth = "四月"; Month_Day = 30; break; 
case 5 : ShowMonth = "五月"; Month_Day = 31; break; 
case 6 : ShowMonth = "六月"; Month_Day = 30; break; 
case 7 : ShowMonth = "七月"; Month_Day = 31; break; 
case 8 : ShowMonth = "八月"; Month_Day = 31; break; 
case 9 : ShowMonth = "九月"; Month_Day = 30; break; 
case 10 : ShowMonth = "十月"; Month_Day = 31; break; 
case 11 : ShowMonth = "十一月"; Month_Day = 30; break; 
case 12 : ShowMonth = "十二月"; Month_Day = 31; break; 
} 
  
var tableTagBegin="<Table cellpadding=0 cellspacing=0 border=1 bordercolor=#999999 width=95% align=center valign=top>"; 
var blankNextTd="<td width=0>&gt;&gt;</td>"; 
var blankPrevTd="<td width=0>&lt;&lt;</td>"; 
var blankDayTd="<td align=center bgcolor=#CCCCCC>&nbsp;</td>"; 
var nextYearTd="<td width=0 onclick=nextYear("+The_Year+","+The_Month+")  style='cursor:hand'>&gt;&gt;</td>"; 
var prevYearTd="<td width=0 onclick=prevYear("+The_Year+","+The_Month+")  style='cursor:hand'>&lt;&lt;</td>"; 
var nextMonthTd="<td width=0 onclick=nextMonth("+The_Year+","+The_Month+")  style='cursor:hand'>&gt;&gt;</td>"; 
var prevMonthTd="<td width=0 onclick=prevMonth("+The_Year+","+The_Month+")  style='cursor:hand'>&lt;&lt;</td>"; 
var valueTdTagBegin="<td width=100 align=center colspan=5>";

var weekTextTr="<Tr align=center bgcolor=#999999>"; 
weekTextTr+="<td><strong><font color=#0000CC>日</font></strong>"; 
weekTextTr+="<td><strong><font color=#0000CC>一</font></strong>"; 
weekTextTr+="<td><strong><font color=#0000CC>二</font></strong>"; 
weekTextTr+="<td><strong><font color=#0000CC>三</font></strong>"; 
weekTextTr+="<td><strong><font color=#0000CC>四</font></strong>"; 
weekTextTr+="<td><strong><font color=#0000CC>五</font></strong>"; 
weekTextTr+="<td><strong><font color=#0000CC>六</font></strong>"; 
weekTextTr+="</Tr>";

var text=tableTagBegin;

text+="<Tr>"+prevYearTd+valueTdTagBegin+The_Year+"</td>"; 
if(limit && (The_Year>=today.getYear()) ){ 
text+=blankNextTd; 
} 
else{ 
text+=nextYearTd; 
} 
text+="</Tr>";

text+="<Tr>"+prevMonthTd+valueTdTagBegin+The_Month+"</td>"; 
if(limit && (The_Year>=today.getYear()) && (The_Month>=(today.getMonth()+1)) ){ 
text+=blankNextTd; 
} 
else{ 
text+=nextMonthTd; 
} 
text+="</Tr>"+weekTextTr;

text+="<Tr>";

for (var i=1; i<=Firstday; i++){ 
text+=blankDayTd; 
}


for (var i=1; i<=Month_Day; i++) 
{ 
var bgColor=""; 
if ( (The_Year==today.getYear()) && (The_Month==today.getMonth()+1) && (i==today.getDate()) ) 
{ 
bgColor = "#FFCCCC"; 
} 
else 
{ 
bgColor = "#CCCCCC"; 
}

if (The_Day==i) 
{ 
bgColor = "#FFFFCC"; 
}

if(limit && (The_Year>=today.getYear()) && (The_Month>=(today.getMonth()+1)) && (i>today.getDate())) 
{ 
text+="<td align=center bgcolor='#CCCCCC' >" + i + "</td>"; 
} 
else 
{ 
text+="<td align=center bgcolor=" + bgColor + " style='cursor:hand' onclick=getSelectedDay(" + The_Year + "," + The_Month + "," + i + ")>" + i + "</td>"; 
}

Firstday = (Firstday + 1)%7; 
if ((Firstday==0) && (i!=Month_Day)) { 
text += "</Tr><Tr>"; 
} 
}

if (Firstday!=0) 
{ 
for (var i=Firstday; i<7; i++) 
{ 
text+=blankDayTd; 
}

text+= "</Tr>"; 
} 
  
text += "</Table>"; 
document.all.divContainer.innerHTML=text; 
}

function getSelectedDay(The_Year,The_Month,The_Day){ 
window.returnValue=The_Year + "-" + format(The_Month) + "-" + format(The_Day); 
//alert(window.returnValue); 
window.close(); 
}

function format(i){ 
if(i<10){ 
return "0"+i; 
} 
else{ 
return i; 
} 
}

function init(){ 
var args=window.dialogArguments.split("-"); 
//alert(args); 
var year=parseInt(args[0]); 
var month=parseInt(args[1]); 
var day=parseInt(args[2]); 
var firstDay=getWeekday(year,month); 
showCalender(year,month,day,firstDay); 
} 
//</script> 
//</head> 
//<body style="text-align:center"> 
//<div id="divContainer"/> 
//<script language=javascript> 
//init(); 
//</script> 
//</body> 
//</html>



//parse the search string,then return a object. 
//object info: 
//--property: 
//----result:a array contained a group of name/value item.the item is nested class. 
//--method: 
//----getNamedItem(name):find item by name.if not exists,return null; 
//----appendItem(name,value):apppend an item into result tail; 
//----removetItem(name):remove item which contained in result and named that name. 
//----toString():override Object.toString();return a regular query string. 
function parseQueryString(search){ 
var object=new Object(); 
object.getNamedItem=getNamedItem; 
object.appendItem=appendItem; 
object.removeItem=removeItem; 
object.toString=toString; 
object.result=new Array();

function parseItem(itemStr){ 
var arStr=itemStr.split("="); 
var obj=new Object(); 
obj.name=arStr[0]; 
obj.value=arStr[1]; 
obj.toString=toString; 
function toString(){ 
return obj.name+"="+obj.value; 
} 
return obj; 
}

function appendItem(name,value){ 
var obj=parseItem(name+"="+value); 
object.result[object.result.length]=obj; 
}

function removeItem(name){ 
var j; 
for(j=0;j<object.result.length;j++){ 
if(object.result[j].name==name){ 
object.result.replice(j,1); 
} 
} 
}

function getNamedItem(name){ 
var j; 
for(j=0;j<object.result.length;j++){ 
if(object.result[j].name==name){ 
return object.result[j]; 
} 
}

return null; 
}

function toString(){ 
var k; 
var str=""; 
for(k=0;k<object.result.length;k++){ 
str+=object.result[k].toString()+"&"; 
}

return str.substring(0,str.length-1); 
}


var items=search.split("&"); 
var i; 
for(i=0;i<items.length;i++){ 
object.result[i]=parseItem(items[i]); 
}

return object; 
}






//检测系统信息

<script language="JavaScript" type="text/javascript"> 
<!-- 
var newline = "\r\r" 
var now = new Date() 
var millinow=now.getTime()/1000 
var hours = now.getHours() 
var minutes = now.getMinutes() 
var seconds = now.getSeconds() 
var yourLocation="" 
now.setHours(now.getHours()+1) 
var min=60*now.getUTCHours()+now.getUTCMinutes() + now.getUTCSeconds()/60; 
var internetTime=(min/1.44) 
internetTime="Internet Time: @"+Math.floor(internetTime) 
var clock = "It's exactly "+hours+":"+minutes+":"+seconds+" hours"  
var browser = "You are using " + navigator.appName +" "+navigator.appVersion 
yourLocation="You are probably living in "+yourLocation 
var winwidth= window.screen.width 
var winheight= window.screen.height 
var screenresolution= "Screen resolution: "+window.screen.width+" x "+window.screen.height 
var lastdoc = "You came from: "+document.referrer 
var expDays = 30; 
var exp = new Date(); 
exp.setTime(exp.getTime() + (expDays*24*60*60*1000)); 
function Who(info){ 
var VisitorName = GetCookie('VisitorName') 
if (VisitorName == null) { 
VisitorName = "stranger"; 
SetCookie ('VisitorName', VisitorName, exp); 
} 
return VisitorName; 
} 
function When(info){ 
// When 
var rightNow = new Date() 
var WWHTime = 0; 
WWHTime = GetCookie('WWhenH') 
WWHTime = WWHTime * 1 
var lastHereFormatting = new Date(WWHTime);  // Date-i-fy that number 
var intLastVisit = (lastHereFormatting.getYear() * 10000)+(lastHereFormatting.getMonth() * 100) + 
lastHereFormatting.getDate() 
var lastHereInDateFormat = "" + lastHereFormatting;  // Gotta use substring functions 
var dayOfWeek = lastHereInDateFormat.substring(0,3) 
var dateMonth = lastHereInDateFormat.substring(4,11) 
var timeOfDay = lastHereInDateFormat.substring(11,16) 
var year = lastHereInDateFormat.substring(23,25) 
var WWHText = dayOfWeek + ", " + dateMonth + " at " + timeOfDay // display 
SetCookie ("WWhenH", rightNow.getTime(), exp) 
return WWHText; 
} 
function Count(info){ 
var psj=0; 
// How many times 
var WWHCount = GetCookie('WWHCount') 
if (WWHCount == null) { 
WWHCount = 0; 
} 
else{ 
WWHCount++; 
} 
SetCookie ('WWHCount', WWHCount, exp); 
return WWHCount; 
} 
function set(){ 
VisitorName = prompt("Who are you?"); 
SetCookie ('VisitorName', VisitorName, exp); 
SetCookie ('WWHCount', 0, exp); 
SetCookie ('WWhenH', 0, exp); 
} 
function getCookieVal (offset) {  
var endstr = document.cookie.indexOf (";", offset);  
if (endstr == -1) 
endstr = document.cookie.length; 
return unescape(document.cookie.substring(offset, endstr)); 
} 
function GetCookie (name) { 
var arg = name + "=";  
var alen = arg.length; 
var clen = document.cookie.length;  
var i = 0; 
while (i < clen) { 
var j = i + alen; 
if (document.cookie.substring(i, j) == arg) 
return getCookieVal (j); 
i = document.cookie.indexOf(" ", i) + 1; 
if (i == 0) break; 
} 
return null; 
}
 
 /******************************************************************** 
*函数功能:设置Cookie* 
********************************************************************/
function SetCookie (name, value) { 
var argv = SetCookie.arguments; 
var argc = SetCookie.arguments.length;  
var expires = (argc > 2) ? argv[2] : null; 
var path = (argc > 3) ? argv[3] : null;  
var domain = (argc > 4) ? argv[4] : null;  
var secure = (argc > 5) ? argv[5] : false; 
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
((path == null) ? "" : ("; path=" + path)) +  
((domain == null) ? "" : ("; domain=" + domain)) + 
((secure == true) ? "; secure" : ""); 
} 

/******************************************************************** 
*函数功能:删除Cookie* 
********************************************************************/
function DeleteCookie (name) { 
var exp = new Date();  
exp.setTime (exp.getTime() - 1);  
// This cookie is history 
var cval = GetCookie (name);  
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString(); 
} 
var countvisits="You've been here " + Count() + " time(s). Last time was " + When() +"." 
if (navigator.javaEnabled()) { 
var javaenabled="Your browser is able to run java-applets"; 
} 
else { 
var javaenabled="Your browser is not able to run java-applets"; 
} 
function showAlert() { 
var later = new Date() 
var millilater=later.getTime()/1000 
var loadTime=(Math.floor((millilater-millinow)*100))/100 
var loadTimeResult= "It took you "+loadTime+" seconds to load this page" 
var babiesborn=Math.ceil(loadTime*4.18) 
var babiesbornresult="While this page was loading "+babiesborn+" babies have been born" 
if (babiesborn==1){babiesbornresult="While this page was loading "+babiesborn+" baby has been born"} 
alert 
(newline+newline+browser+newline+clock+newline+loadTimeResult+newline+internetTime+newline+screenresolution+newline+lastdoc+newline+countvisits+newline+javaenabled+newline+babiesbornresult+newline+newline) 
} 
//// --></script> 
//<body onLoad="showAlert()">


//密码保护:

//将以下代码加入HEML的<body></body>之间：
